package org.springframework.core.convert;

/**
 * 类型转换的抽象核心接口 应该是封装了上面那么多的转换器
 */
public interface ConversionService {

    /**
     * 根据源类型和目标类型 来判断是否可以转换
     * @param sourceType
     * @param targetType
     * @return
     */
    boolean canConvert(Class<?> sourceType, Class<?> targetType);


    /**
     * 执行转换逻辑
     * @param source
     * @param targetType
     * @return
     * @param <T>
     */
    <T> T convert(Object source, Class<T> targetType);

}
